From: kaf24@firebug.cl.cam.ac.uk Date: Fri, 14 Apr 2006 13:23:40 +0000 (+0100) Subject: Since we don't reset the proto_csum_blank flag in the skb, the X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16158^2~2^2~16 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=6afda10e40a2d9f7ca611f9363778784cbd382e3;p=xen.git Since we don't reset the proto_csum_blank flag in the skb, the checksum calculation gets done twice, which is not twice as good as once. With this patch, TCP/UDP checksum errors from dom0 are fixed, and domUs can use TCP/UDP without turning off TX checksum offload. Normal non-VLAN bridged configs still work fine, tested with xm-test. Signed-off-by: Jim Dykman --- diff --git a/linux-2.6-xen-sparse/net/core/dev.c b/linux-2.6-xen-sparse/net/core/dev.c index 7a98ceb658..e526fccc2f 100644 --- a/linux-2.6-xen-sparse/net/core/dev.c +++ b/linux-2.6-xen-sparse/net/core/dev.c @@ -1294,6 +1294,7 @@ int dev_queue_xmit(struct sk_buff *skb) if ((skb->h.raw + skb->csum + 2) > skb->tail) goto out_kfree_skb; skb->ip_summed = CHECKSUM_HW; + skb->proto_csum_blank = 0; } #endif